home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacHack 1995
/
MacHack 1995.toast
/
Presentations
/
Presentations ’92
/
Graphics Acceleration Samples
/
Sample.r
< prev
Wrap
Text File
|
1991-06-11
|
6KB
|
287 lines
/*------------------------------------------------------------------------------
#
# Apple Macintosh Developer Technical Support
#
# MultiFinder-Aware Simple Sample Application
#
# Sample
#
# Sample.r - Rez Source
#
# Copyright © 1988 Apple Computer, Inc.
# All rights reserved.
#
# Versions: 1.0 08/88
# 1.01 11/88
#
# Components: Sample.p November 1, 1988
# Sample.c November 1, 1988
# Sample.a November 1, 1988
# Sample.inc1.a November 1, 1988
# SampleMisc.a November 1, 1988
# Sample.r November 1, 1988
# Sample.h November 1, 1988
# [A]Sample.make November 1, 1988
# [C]Sample.make November 1, 1988
# [P]Sample.make November 1, 1988
#
# Sample is an example application that demonstrates how to
# initialize the commonly used toolbox managers, operate
# successfully under MultiFinder, handle desk accessories,
# and create, grow, and zoom windows.
#
# It does not by any means demonstrate all the techniques
# you need for a large application. In particular, Sample
# does not cover exception handling, multiple windows/documents,
# sophisticated memory management, printing, or undo. All of
# these are vital parts of a normal full-sized application.
#
# This application is an example of the form of a Macintosh
# application; it is NOT a template. It is NOT intended to be
# used as a foundation for the next world-class, best-selling,
# 600K application. A stick figure drawing of the human body may
# be a good example of the form for a painting, but that does not
# mean it should be used as the basis for the next Mona Lisa.
#
# We recommend that you review this program or TESample before
# beginning a new application.
------------------------------------------------------------------------------*/
#include "Types.r"
#include "Sample.h"
/* this is a definition for a resource which contains only a rectangle */
type 'RECT' {
rect;
};
/* we use an MBAR resource to conveniently load all the menus */
resource 'MBAR' (rMenuBar, preload) {
{ mApple, mFile, mEdit, mOptions}; /* four menus */
};
resource 'MENU' (mApple, preload) {
mApple, textMenuProc,
AllItems & ~MenuItem2, /* Disable dashed line, enable About and DAs */
enabled, apple,
{
"About PICTer…",
noicon, nokey, nomark, plain;
"-",
noicon, nokey, nomark, plain
}
};
resource 'MENU' (mFile, preload) {
mFile, textMenuProc,
MenuItem12, /* enable Quit only, program enables others */
enabled, "File",
{
"New",
noicon, "N", nomark, plain;
"Open",
noicon, "O", nomark, plain;
"-",
noicon, nokey, nomark, plain;
"Close",
noicon, "W", nomark, plain;
"Save",
noicon, "S", nomark, plain;
"Save As…",
noicon, nokey, nomark, plain;
"Revert",
noicon, nokey, nomark, plain;
"-",
noicon, nokey, nomark, plain;
"Page Setup…",
noicon, nokey, nomark, plain;
"Print…",
noicon, nokey, nomark, plain;
"-",
noicon, nokey, nomark, plain;
"Quit",
noicon, "Q", nomark, plain
}
};
resource 'MENU' (mEdit, preload) {
mEdit, textMenuProc,
NoItems, /* disable everything, program does the enabling */
enabled, "Edit",
{
"Undo",
noicon, "Z", nomark, plain;
"-",
noicon, nokey, nomark, plain;
"Cut",
noicon, "X", nomark, plain;
"Copy",
noicon, "C", nomark, plain;
"Paste",
noicon, "V", nomark, plain;
"Clear",
noicon, nokey, nomark, plain
}
};
resource 'MENU' (mOptions, preload) {
mOptions, textMenuProc,
NoItems, /* disable everything, program does the enabling */
enabled, "Options",
{
"Convolve",
noicon, nokey, nomark, plain
}
};
/* this ALRT and DITL are used as an About screen */
/* this ALRT and DITL are used as an error screen */
resource 'ALRT' (rUserAlert, purgeable) {
{40, 20, 120, 260},
rUserAlert,
{ /* array: 4 elements */
/* [1] */
OK, visible, silent,
/* [2] */
OK, visible, silent,
/* [3] */
OK, visible, silent,
/* [4] */
OK, visible, silent
}
};
resource 'DITL' (rUserAlert, purgeable) {
{ /* array DITLarray: 3 elements */
/* [1] */
{50, 150, 70, 230},
Button {
enabled,
"OK"
},
/* [2] */
{10, 60, 30, 230},
StaticText {
disabled,
"PICTer - Error occurred!"
},
/* [3] */
{8, 8, 40, 40},
Icon {
disabled,
2
}
}
};
resource 'WIND' (rWindow, preload, purgeable) {
{60, 40, 290, 160},
zoomDocProc, invisible, goAway, 0x0, "PICT"
};
resource 'CNTL' (rVScroll, preload, purgeable) {
{-1, 385, 236, 401},
0, visible, 0, 0, scrollBarProc, 0, ""
};
resource 'CNTL' (rHScroll, preload, purgeable) {
{235, -1, 251, 386},
0, visible, 0, 0, scrollBarProc, 0, ""
};
/* here is the quintessential MultiFinder friendliness device, the SIZE resource */
resource 'SIZE' (-1) {
dontSaveScreen,
acceptSuspendResumeEvents,
enableOptionSwitch,
canBackground, /* we can background; we don't currently, but our sleep value */
/* guarantees we don't hog the Mac while we are in the background */
multiFinderAware, /* this says we do our own activate/deactivate; don't fake us out */
backgroundAndForeground, /* this is definitely not a background-only application! */
dontGetFrontClicks, /* change this is if you want "do first click" behavior like the Finder */
ignoreChildDiedEvents, /* essentially, I'm not a debugger (sub-launching) */
is32BitCompatible, /* this app should not be run in 32-bit address space */
reserved,
reserved,
reserved,
reserved,
reserved,
reserved,
reserved,
kPrefSize * 1024,
kMinSize * 1024
};
data 'ICN#' (128) {
$$resource("sample.res", 'ICN#', 128)
};
data 'icl8' (128) {
$$resource("sample.res", 'icl8', 128)
};
data 'icl4' (128) {
$$resource("sample.res", 'icl4', 128)
};
data 'ics#' (128) {
$$resource("sample.res", 'ics#', 128)
};
data 'ics8' (128) {
$$resource("sample.res", 'ics8', 128)
};
data 'ics4' (128) {
$$resource("sample.res", 'ics4', 128)
};
data 'ALRT' (rAboutAlert, purgeable) {
$$resource("sample.res", 'ALRT', rAboutAlert)
};
data 'DITL' (rAboutAlert, purgeable) {
$$resource("sample.res", 'DITL', rAboutAlert)
};
data 'PICT' (rAboutAlert, purgeable) {
$$resource("sample.res", 'PICT', rAboutAlert)
};
resource 'BNDL' (128) {
'PVWr',
0,
{
'ICN#',
{
0, 128
},
'FREF',
{
0, 128
}
}
};
resource 'FREF' (128) {
'APPL',
0,
""
};